package com.deyuanyun.pic.pipe.dao;

import java.util.List;

/**
 * 大概作用和通用Mapper差不多。
 * 
 * @author ChenKui
 *
 */
public interface BaseDAO {
    
    /**
     * 根据类型和自定义编号查询
     * 
     * @param clazz
     * @param customNumber
     * @return
     */
    <T> T queryObjectByCustomNumber(Class<T> clazz,String customNumber);
    
    /**
     * 根据类型多条件查询
     * 
     * @param clazz
     * @param fieldName
     * @param fieldValue
     * @return
     */
    <T> List<T> selectByExample(Class<T> clazz,String fieldName,Object fieldValue);
    

    /**
     * 根据主键查询
     * @param clazz
     * @param primaryKey
     * @return
     */
    <T> T queryObjectByPrimaryKey(Class<T> clazz,String primaryKey);
    
    
    /**
     * 根据类型多条件查询
     * 
     * @param clazz
     * @param fieldName
     * @param fieldValue
     * @return
     */
    <T> List<T> selectByExample(Class<T> clazz,String[] fieldNames,Object[] fieldValues);
    
    
    int insert(Object record);

    int insertSelective(Object record);
    
    int updateByPrimaryKeySelective(Object record);

    int updateByPrimaryKey(Object record);
}

